package com.zhf;

import java.util.HashSet;
import java.util.Set;

/**
 * 判断数组中所有的数字是否只出现一次。给定一个数组array，
 * 判断数组 array 中是否所有的数字都只 出现过一次。
 * 例如，arr = {1, 2, 3}，输出 YES。又如，arr = {1, 2, 1}，输出 NO。约束时间复杂度为 O(n)。
 */
public class Test1 {

    // 使用hash算法满足 时间复杂度为 o(n) 的要求
    public static String IsShowOneTime(int[] array){
        HashSet set = new HashSet();
        for(int num : array){
            if(!set.add(num)) return "NO";
        }
        return "YES";
    }

    public static void main(String[] args) {
        int[] array = new int[]{3,5,9,6,3,Integer.MAX_VALUE};
        System.out.println(IsShowOneTime(array));
        System.out.println("==============================");
        int[] arry1 = new int[]{3,5,9,6,7, 99999};
        System.out.println(IsShowOneTime(arry1));
    }
}
